package com.xinqi.common.base.response;

import io.swagger.v3.oas.annotations.Parameter;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 分页参数类
 *
 * @author linkai
 * @date 2022/11/29
 */
@Data
public class Param implements Serializable {
    public static final long PAGE_NUM = 1;
    public static final long PAGE_SIZE = 20;
    public static final long MAX_PAGE_SIZE = 300;
    /**
     * 当前页
     */
    @Parameter(description = "当前页", example = "1")
    private Long pageNum = PAGE_NUM;

    /**
     * 每页记录数
     */
    @Parameter(description = "每页记录数", example = "10")
    private Long pageSize = PAGE_SIZE;

    /**
     * 排序列
     */
    @Parameter(description = "排序列", example = "id")
    private String orderByColumn;

    /**
     * 排序的方向 "desc" 或者 "asc".
     */
    @Parameter(description = "排序的方向，desc 或者 asc", example = "desc")
    private String isAsc;

    /**
     * 批量排序字段。规则："表字段,序列"，例如： id,desc； 如果只有表字段，则默认按asc排序，比如：user
     */
    @Parameter(description = "批量排序字段。规则：'表字段|序列'，例如： id|desc； 如果只有表字段，则默认按asc排序，比如：user", example = "id|desc")
    private List<String> sorts;
}
